叶1
//被深度优先算法虐了
//。
#include

using namespace std;

int ans=0;

int mp[11][11];

int vis[11][11];

int n;

bool flag=false;

int dx[4]={1,0,-1,0};

int dy[4]={0,1,0,-1};

void dfs(int x,int y)

{

if(x==n&&y==n){

flag=true;

return;

}

for(int i=0;i<4;i++){

int nx=x+dx[i];

int ny=y+dy[i];

if(nx>0&&nx<=n&&ny>0&&ny<=n&&mp[nx][ny]==1&&vis[nx][ny]==0){

vis[nx][ny]=1;

dfs(nx,ny);

vis[nx][ny]=0;

}

}

}

int main()

{

cin>>n;

for(int i=1;i<=n;i++){

for(int j=1;j<=n;j++){

cin>>mp[i][j];

}

}

vis[1][1]=1;

dfs(1,1);

if(flag) cout<<"YES";

else cout<<"NO";

return 0;

}
/*
嗯就是达不到预期效果,AI也搞不好()
怎么办
*/

编辑于11月9日 23:41